Field of the Invention
The present invention relates generally to data storage management, and more particularly to data storage space management for storage class memory.
Description of Related Art
Many software systems, such as database software systems (data stores), in information technology system rely on hard disk drive (HDD) storage for persistency of stored data. However, because of the slow HDD input/output (I/O) performance in both latency and bandwidth, writing to a HDD has long been a key bottleneck of software systems. Due to a large difference in access speed between Dynamic Random Access Memory (DRAM) and HDD, “hiding” I/O during application execution has become important in software system design. However, attempting to reduce or hide I/O performance impact makes data software systems design and application building complex.
In conventional space management approaches for HDD space management, the entire space is divided into fixed-size pages due to the physical features of HDD. One page may have several HDD blocks. Reading and writing of data must comply with page format, wherein even for reading or writing a single bit of data, an entire page is read out of, or written into, an HDD. Further, all data to be written to HDD is formatted into a page schema.
In conventional space management approaches for DRAM space management, the Buddy System is most commonly used for main memory space management. In Buddy System, a complex space management data structure is introduced to avoid page limitation and fragmentation, and also to provide more flexible space allocation. However, such space management data structure must be modified frequently.